import { axios } from '@/utils/request'
/**
 * 字典模块api接口
*/
// 获取全部数据
function getDictList (keys) {
  return axios({
    url: 'user-service/dict/list',
    method: 'get',
    params: { dictCodes: keys }
  })
}

// 获取字典列表数据
function getDictCodeByKey (key) {
  return axios({
    url: 'user-service/dict/item/list',
    method: 'get',
    params: { dictCode: key }
  })
}
// 新增字典项
function addDictCode (data) {
  return axios({
    url: 'user-service/dict/item/add',
    method: 'post',
    data
  })
}
// 新增字典
function addDict (params) {
  return axios({
    url: 'user-service/dict/add',
    method: 'post',
    params
  })
}
// 编辑字典
function editDictCode (data) {
  return axios({
    url: 'user-service/dict/item/edit',
    method: 'put',
    data
  })
}

// 删除字典
function deleteDictCode (data) {
  return axios({
    url: 'user-service/dict/item/del',
    method: 'delete',
    data
  })
}

// 获取省份字典
function getProvinceDictCodes () {
  return getDictCodeByKey('province')
}

// 获取任务下零件升级状态集合
function getTaskEcuUpdateDictCodes () {
  return getDictCodeByKey('fota_task_ecu_status')
}

// 获取任务状态集合
function getTaskUpdateDictCodes () {
  return getDictCodeByKey('fota_task_status')
}

// 升级模式
function getStrategyUpgradeTypeDictCodes () {
  return getDictCodeByKey('strategy_upgrade_type')
}
// 下载网络
function getStrategyDownloadNetworkDictCodes () {
  return getDictCodeByKey('strategy_download_network')
}
//  下载网络
//  车速限制
function getStrategySpeedLimitDictCodes () {
  return getDictCodeByKey('strategy_speed_limit')
}
//  手刹限制
function getStrategyHandbrakeLimitDictCodes () {
  return getDictCodeByKey('strategy_handbrake_limit')
}
//  电源限制
function getStrategyPowerLimitDictCodes () {
  return getDictCodeByKey('strategy_power_limit')
}
//  驻车限制
function getStrategyParkLimitDictCodes () {
  return getDictCodeByKey('strategy_park_limit')
}
// 转速限制
function getStrategyEngineSpeedLimitDictCodes () {
  return getDictCodeByKey('strategy_engine_speed_limit')
}
// 场景
function getStrategySceneTypeDictCodes () {
  return getDictCodeByKey('strategy_scene_type')
}
// 审核模板类型
function getAuditCategoryDictCodes () {
  return getDictCodeByKey('audit_category')
}

// 策略状态
function getStrategyStatusDictCodes () {
  return getDictCodeByKey('strategy_status')
}
// 获取任务下车辆状态
function getTaskVehicleStatusDictCodes () {
  return getDictCodeByKey('fota_task_vehicle_status')
}
// 获取阶段审核状态
function getAuditItemStatusDictCodes () {
  return getDictCodeByKey('audit_item_status')
}
// 获取整个任务审核状态
function getAuditStatusDictCodes () {
  return getDictCodeByKey('audit_status')
}
// 获取车辆数据来源
function getVehicleDataTypeDictCodes () {
  return getDictCodeByKey('vehicle_data_type')
}
// 获取防盗状态
function getTheftPreventionStatusDictCodes () {
  return getDictCodeByKey('strategy_theft_prevention_status')
}
// 获车门状态
function getDoorStatusDictCodes () {
  return getDictCodeByKey('strategy_door_status')
}

// 获充电状态
function getChargeStatusDictCodes () {
  return getDictCodeByKey('strategy_charge_status')
}
// 获取OBD状态
function getObdStatusDictCodes () {
  return getDictCodeByKey('strategy_obd_status')
}

// 获取发动机状态
function getEngineStatusDictCodes () {
  return getDictCodeByKey('strategy_engine_status')
}
// 获取条款类型
function getAdditionalClauseTypeDictCodes () {
  return getDictCodeByKey('additional_clause_type')
}
// 获取活跃度类型
function getLastActiveDictCodes () {
  return getDictCodeByKey('task_last_active')
}
// 获取最近升级类型
function getLastUpgradeSuccessDictCodes () {
  return getDictCodeByKey('task_last_upgrade_success')
}
// 获取车辆激活状态
function getVehicleStatusDictCodes () {
  return getDictCodeByKey('vehicle_status')
}

// 获取车辆零件上报操作说明
function getTaskOperationTypeDictCodes () {
  return getDictCodeByKey('fota_task_operation_type')
}

// 获取车辆任务操作状态集合(正常，已暂停，已取消)
function getTaskVehicleUpgradeStatusDictCodes () {
  return getDictCodeByKey('task_vehicle_upgrade_status')
}

// 获取校验、不校验字典集合
function getStrategyTestingDictCodes () {
  return getDictCodeByKey('strategy_testing')
}

// 获取日志类型字典集合
function getSystemLogTypeDictCodes () {
  return getDictCodeByKey('system_log_type')
}
// 获取烧写类型
function getEcuReprogramTypeDictCodes () {
  return getDictCodeByKey('ecu_reprogram_type')
}
// 获取烧写方式
function getEcuReprogramWayDictCodes () {
  return getDictCodeByKey('ecu_reprogram_way')
}
// 获取烧写条件
function getEcuUpdateStyleDictCodes () {
  return getDictCodeByKey('ecu_update_style')
}
// 获取高压电源模块
function getHvPowerFlagDictCodes () {
  return getDictCodeByKey('hv_power_flag')
}
// 获取高低压模块
function getHlvFlagDictCodes () {
  return getDictCodeByKey('hlv_flag')
}

// 获取报文类型字典
function getClientLogTypeDictCodes () {
  return getDictCodeByKey('client_log_type')
}
// 获取文件烧写方式
function getDllNameDictCodes () {
  return getDictCodeByKey('dll_name')
}
// 获取零件加密方式
function getEcuEncryptTypeDictCodes () {
  return getDictCodeByKey('ecu_encrypt_type')
}
// 文件版本状态
function getFileStatusDictCodes () {
  return getDictCodeByKey('file_status')
}
// 文件加密状态
function getResourceStateDictCodes () {
  return getDictCodeByKey('resource_state')
}
// 服务分类
function getServiceSaleCateFlagDictCodes () {
  return getDictCodeByKey('service_sale_cate_flag')
}
// 考试地址
function getServiceSaleExamCodeDictCodes () {
  return getDictCodeByKey('service_sale_exam_code ')
}
// 服务归属域
function getServiceSaleBelongFlagDictCodes () {
  return getDictCodeByKey('service_sale_belong_flag')
}
// 服务状态
function getServicePublishStatusDictCodes () {
  return getDictCodeByKey('service_publish_status')
}
// 订单状态集合
function getServiceOrderStatusDictCodes () {
  return getDictCodeByKey('service_order_status')
}
// 获取订阅状态集合
function getSubsServiceStatusDictCodes () {
  return getDictCodeByKey('subs_service_status')
}

// 获取订单退款状态集合 order_refund_status
function getOrderRefundStatusDictCodes () {
  return getDictCodeByKey('order_refund_status')
}
// 三方服务供应商
function getThirdSupplierDictCodes () {
  return getDictCodeByKey('third_supplier')
}

// 车辆详情中车辆版本列表中的升级方式集合
function getOtaUpdateTypeDictCodes () {
  return getDictCodeByKey('ota_update_type')
}

// 车型-数据来源
function getConfigModelDataFromDictCodes () {
  return getDictCodeByKey('configModelDataFrom')
}
// 车型-公司品牌
function getCompanyDictCodes () {
  return getDictCodeByKey('company')
}
// 车型-动力类型
function getPowerTypeDictCodes () {
  return getDictCodeByKey('powerType')
}
// 车型-销售区域
function getSaleAreaDictCodes () {
  return getDictCodeByKey('saleArea')
}

// 管理版本下业务类型集合
function getBusinessTypeDictCodes () {
  return getDictCodeByKey('business_type')
}
// 唤醒通道
function getFactoryChannelDictCodes () {
  return getDictCodeByKey('factory_channel')
}
// 车辆阶段
function getProducePhaseDictCodes () {
  return getDictCodeByKey('producePhase')
}
// 生产工厂
function getManufacturerDictCodes () {
  return getDictCodeByKey('manufacturer')
}
// 版本类型：测试版、定版
function getVersionTypeDictCodes () {
  return getDictCodeByKey('versionType')
}
// 升级触发类型：用户升级、自动升级
function getUpgradeTriggerTypeDictCodes () {
  return getDictCodeByKey('upgradeTriggerType')
}
// DiLink主机平台
function getDiLinkVersionDictCodes () {
  return getDictCodeByKey('diLinkVersion')
}

// 工程院OTA升级范围
function getGcyOtaUpdateScopeDictCodes () {
  return getDictCodeByKey('gcyOtaUpdateScope')
}
// 工程院OTA供应商验证结论
function getGcyOtaSupplierVerifyResultDictCodes () {
  return getDictCodeByKey('gcyOtaSupplierVerifyResult')
}

// 获取追加车辆状态集合
function getImportTaskVehicleStatusDictCodes () {
  return getDictCodeByKey('import_task_vehicle_status')
}
// 库位
function getBinlocationDictCodes () {
  return getDictCodeByKey('location')
}

// 关联平台
function getPlatformDictCodes () {
  return getDictCodeByKey('platform')
}

// 归属业务类型
function getEmailMessageTemplateBusinessTypeDictCodes () {
  return getDictCodeByKey('email_message_template_business_type')
}
// ECU变更来源
function getEcuChangeOriginDictCodes () {
  return getDictCodeByKey('ECU_CHANGE_ORIGIN')
}
// 升级类型
function getUpgradeTypeDictCodes () {
  return getDictCodeByKey('upgradeType')
}
// 获取循环测试任务状态
function getLoopTestTaskStatusDictCodes () {
  return getDictCodeByKey('loop_test_status')
}
// 获取DLL烧写文件类名
function getDllClassNameDictCodes () {
  return getDictCodeByKey('sw_repo_dll_name')
}
export default {
  getDictList,
  getDictCodeByKey,
  getProvinceDictCodes,
  addDictCode,
  editDictCode,
  deleteDictCode,
  getTaskEcuUpdateDictCodes,
  getTaskUpdateDictCodes,
  getStrategyUpgradeTypeDictCodes,
  getStrategyDownloadNetworkDictCodes,
  getStrategySpeedLimitDictCodes,
  getStrategyHandbrakeLimitDictCodes,
  getStrategyPowerLimitDictCodes,
  getStrategyParkLimitDictCodes,
  getStrategyEngineSpeedLimitDictCodes,
  getStrategySceneTypeDictCodes,
  getTaskVehicleStatusDictCodes,
  getAuditCategoryDictCodes,
  getStrategyStatusDictCodes,
  getAuditItemStatusDictCodes,
  getAuditStatusDictCodes,
  getVehicleDataTypeDictCodes,
  getTheftPreventionStatusDictCodes,
  getDoorStatusDictCodes,
  getChargeStatusDictCodes,
  getObdStatusDictCodes,
  getEngineStatusDictCodes,
  getAdditionalClauseTypeDictCodes,
  getLastActiveDictCodes,
  getLastUpgradeSuccessDictCodes,
  getVehicleStatusDictCodes,
  getTaskOperationTypeDictCodes,
  getTaskVehicleUpgradeStatusDictCodes,
  getStrategyTestingDictCodes,
  getSystemLogTypeDictCodes,
  getEcuReprogramTypeDictCodes,
  getEcuReprogramWayDictCodes,
  getEcuUpdateStyleDictCodes,
  getHvPowerFlagDictCodes,
  getHlvFlagDictCodes,
  getClientLogTypeDictCodes,
  getDllNameDictCodes,
  getEcuEncryptTypeDictCodes,
  getFileStatusDictCodes,
  getResourceStateDictCodes,
  getServiceSaleCateFlagDictCodes,
  getServiceSaleExamCodeDictCodes,
  getServiceSaleBelongFlagDictCodes,
  getServicePublishStatusDictCodes,
  getServiceOrderStatusDictCodes,
  getSubsServiceStatusDictCodes,
  getOrderRefundStatusDictCodes,
  getThirdSupplierDictCodes,
  getOtaUpdateTypeDictCodes,
  getConfigModelDataFromDictCodes,
  getCompanyDictCodes:getCompanyDictCodes,
  getPowerTypeDictCodes,
  getSaleAreaDictCodes,
  getProducePhaseDictCodes:getProducePhaseDictCodes,
  getManufacturerDictCodes:getManufacturerDictCodes,
  getVersionTypeDictCodes:getVersionTypeDictCodes,
  getUpgradeTriggerTypeDictCodes:getUpgradeTriggerTypeDictCodes,
  getDiLinkVersionDictCodes:getDiLinkVersionDictCodes,
  getGcyOtaUpdateScopeDictCodes:getGcyOtaUpdateScopeDictCodes,
  getGcyOtaSupplierVerifyResultDictCodes:getGcyOtaSupplierVerifyResultDictCodes,
  getBusinessTypeDictCodes,
  getFactoryChannelDictCodes,
  getImportTaskVehicleStatusDictCodes,
  addDict,
  getBinlocationDictCodes,
  getPlatformDictCodes,
  getEmailMessageTemplateBusinessTypeDictCodes,
  getEcuChangeOriginDictCodes,
  getUpgradeTypeDictCodes,
  getLoopTestTaskStatusDictCodes,
  getDllClassNameDictCodes
}
